Multi catch block

Course- Java >

If you have to perform different tasks at the occurrence of different Exceptions, use java multi catch block.

Let's see a simple example of java multi-catch block.

public class TestMultipleCatchBlock{  

  public static void main(String args[]){  

   try{  

    int a[]=new int[5];  

    a[5]=30/0;  

   }  

   catch(ArithmeticException e){System.out.println("task1 is completed");}  

   catch(ArrayIndexOutOfBoundsException e){System.out.println("task 2 completed");}  

   catch(Exception e){System.out.println("common task completed");}  

  

   System.out.println("rest of the code...");  

 }  

}  

 

Output:task1 completed

rest of the code...

Rule: At a time only one Exception is occured and at a time only one catch block is executed.

Rule: All catch blocks must be ordered from most specific to most general i.e. catch for ArithmeticException must come before catch for Exception .

class TestMultipleCatchBlock1{  

  public static void main(String args[]){  

   try{  

    int a[]=new int[5];  

    a[5]=30/0;  

   }  

   catch(Exception e){System.out.println("common task completed");}  

   catch(ArithmeticException e){System.out.println("task1 is completed");}  

   catch(ArrayIndexOutOfBoundsException e){System.out.println("task 2 completed");}  

   System.out.println("rest of the code...");  

 }  

}  

 

Output:

Compile-time error